﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YY.Admin.Core.BusinessException
{
    public class BusinessException : Exception
    {
        public ErrorCodeEnum ErrorCode { get; }

        public BusinessException(ErrorCodeEnum errorCode, string message)
            : base(message) => ErrorCode = errorCode;
    }
    public static class Oops
    {
        public static BusinessException Oh(ErrorCodeEnum errorCode)
        {
            // 获取错误信息
            string message = $"业务错误 {errorCode}: {errorCode.GetDescription()}";
            return new BusinessException(errorCode, message);
        }
        public static BusinessException Oh(string error)
        {
            // 获取错误信息
            string message = $"业务错误 {error}";
            return new BusinessException(ErrorCodeEnum.A1000, message);
        }
    }
}
